package consume

import (
	"fmt"
	"github.com/vueadmin/app/rabbitmq/internal/svc"
)

func Demo(svcCtx *svc.ServiceContext, queueName string, num int) {
	ch, channelErr := svcCtx.Rabbitmq.Channel()
	if channelErr != nil {
		svcCtx.Log.Info("rabbitmq创建channel失败:", channelErr)
		return
	}
	defer ch.Close()

	msgs, consumeErr := ch.Consume(
		queueName,                       // 队列名称
		fmt.Sprintf("consumer-%d", num), // 消费者标签
		false,                           // 是否自动应答
		false,                           // 是否独占
		false,                           // 是否阻塞处理
		false,                           // 其他参数
		nil,                          		        
	)
	if consumeErr != nil {
		svcCtx.Log.Info("rabbitmq消费消息失败:", channelErr)
		return
	}

	for msg := range msgs {
		data := string(msg.Body)
		fmt.Println(data, num)
		if data != "" {
			msg.Ack(false)
		}else{
			msg.Ack(true)
		}
	}
}
